package com.stt.videoprocess.design.processor.impl;

import com.stt.videoprocess.design.model.VideoTask;
import com.stt.videoprocess.design.processor.VideoProcessor;
import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.TimeUnit;

/**
 * 基础处理器实现类
 * 提供所有视频处理必须的基础处理逻辑
 */
@Slf4j
public class BaseProcessor implements VideoProcessor {

    /**
     * 处理视频任务的基础方法
     * 包含所有视频处理流程中都必须执行的基本操作
     *
     * @param task 视频任务对象，包含待处理视频的信息
     * @throws Exception 如果处理过程中发生错误
     */
    @Override
    public void process(VideoTask task) throws Exception {
        // 基础处理逻辑
        log.info("处理基本流程");
        // 模拟基础处理耗时
        TimeUnit.MILLISECONDS.sleep(200);
    }

    /**
     * 获取处理器的名称
     *
     * @return 处理器名称，用于标识和调试
     */
    @Override
    public String getProcessorName() {
        return "BaseProcessor";
    }
}
